home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MACD 5
/
MACD 5.bin
/
workbench
/
tools
/
czesc_2
/
lyr-o-mat
/
source
/
source.lha
/
words_temp.c
< prev
next >
Wrap
C/C++ Source or Header
|
1993-05-03
|
13KB
|
491 lines
#include "words.h"
struct EasyStruct AboutReq =
{
0L,0L,(UBYTE *)"About " LYR_NAME,
(UBYTE *)LYR_NAME " is Copyright ©1993\nby CEKASOFT\nKarlheinz Klingbeil\nElzstr. 42\n7809 Gutach\nGermany\n\n ENJOY !!!",
(UBYTE *)"incredible | silly | great",
};
struct EasyStruct ExitReq =
{
0L,0L,(UBYTE *)"Quit " LYR_NAME,
(UBYTE *)"Really quit ?",
(UBYTE *)"Yes (L-AMIGA+V) | No (L-AMIGA + B)",
};
int templatestringClicked( void )
{
/* routine when gadget "" is clicked. */
if(*(GetString(Project0Gadgets[GDX_templatestring])))
{
list_off(LIST_PT);newpattern(GetString(Project0Gadgets[GDX_templatestring]));list_on(LIST_PT);
GT_SetGadgetAttrs(Project0Gadgets[GDX_templatelist],Project0Wnd,NULL,
GTLV_Selected,NodeToNum(&winfo.pattern,(struct Node *)winfo.currentpattern),NULL,TAG_DONE);
}
if(edit.pattern)
{
edit.pattern = 0;
GT_SetGadgetAttrs(Project0Gadgets[GDX_templatestring],Project0Wnd,NULL,
GA_Disabled,TRUE,TAG_DONE);
GT_SetGadgetAttrs(Project0Gadgets[GDX_deltemplate],Project0Wnd,NULL,
GA_Disabled,TRUE,TAG_DONE);
}
else ActivateGadget(Project0Gadgets[GD_templatestring],Project0Wnd,NULL);
return (TRUE);
}
int wordlistClicked( void )
{
/* routine when gadget "Words" is clicked. */
if(winfo.currentclass)
{
winfo.currentword = (struct wordnode *)NumToNode(&winfo.currentclass->cl_Words,Project0Msg.Code);
GT_SetGadgetAttrs(Project0Gadgets[GDX_wordstring],Project0Wnd,NULL,
GA_Disabled,FALSE,TAG_DONE);
GT_SetGadgetAttrs(Project0Gadgets[GDX_delword],Project0Wnd,NULL,
GA_Disabled,FALSE,TAG_DONE);
GT_SetGadgetAttrs(Project0Gadgets[GDX_addword],Project0Wnd,NULL,
GA_Disabled,FALSE,TAG_DONE);
ActivateGadget(Project0Gadgets[GD_wordstring],Project0Wnd,NULL);
edit.word = 1;
}
return (TRUE);
}
int class_stringClicked( void )
{
/* routine when gadget "" is clicked. */
if(*(GetString(Project0Gadgets[GDX_class_string])))
{
list_off(LIST_CL);newclass(GetString(Project0Gadgets[GDX_class_string]));list_on(LIST_CL);
GT_SetGadgetAttrs(Project0Gadgets[GDX_classlist],Project0Wnd,NULL,
GTLV_Selected,NodeToNum(&winfo.class,(struct Node *)winfo.currentclass),NULL,TAG_DONE);
list_off(LIST_WD);
list_on(LIST_WD);
}
if(edit.class)
{
edit.class = 0;
GT_SetGadgetAttrs(Project0Gadgets[GDX_class_string],Project0Wnd,NULL,
GA_Disabled,TRUE,TAG_DONE);
GT_SetGadgetAttrs(Project0Gadgets[GDX_delclass],Project0Wnd,NULL,
GA_Disabled,TRUE,TAG_DONE);
GT_SetGadgetAttrs(Project0Gadgets[GDX_addword],Project0Wnd,NULL,
GA_Disabled,TRUE,TAG_DONE);
GT_SetGadgetAttrs(Project0Gadgets[GDX_wordstring],Project0Wnd,NULL,
GA_Disabled,TRUE,TAG_DONE);
}
else ActivateGadget(Project0Gadgets[GD_class_string],Project0Wnd,NULL);
return (TRUE);
}
int classlistClicked( void )
{
/* routine when gadget "Classes" is clicked. */
winfo.currentclass = (struct classnode *)NumToNode(&winfo.class,Project0Msg.Code);
winfo.currentword = (struct wordnode *)winfo.currentclass->cl_Words.lh_TailPred;
list_off(LIST_WD);
GT_SetGadgetAttrs(Project0Gadgets[GDX_class_string],Project0Wnd,NULL,
GA_Disabled,FALSE,TAG_DONE);
GT_SetGadgetAttrs(Project0Gadgets[GDX_delclass],Project0Wnd,NULL,
GA_Disabled,FALSE,TAG_DONE);
GT_SetGadgetAttrs(Project0Gadgets[GDX_addword],Project0Wnd,NULL,
GA_Disabled,FALSE,TAG_DONE);
ActivateGadget(Project0Gadgets[GD_class_string],Project0Wnd,NULL);
list_on(LIST_CL);
edit.class = 1;
return (TRUE);
}
int wordstringClicked( void )
{
/* routine when gadget "" is clicked. */
if(*(GetString(Project0Gadgets[GDX_wordstring])))
{
list_off(LIST_WD);newword(GetString(Project0Gadgets[GDX_wordstring]));list_on(LIST_WD);
if(winfo.currentclass)
{
GT_SetGadgetAttrs(Project0Gadgets[GDX_wordlist],Project0Wnd,NULL,
GTLV_Selected,NodeToNum(&winfo.currentclass->cl_Words,(struct Node *)winfo.currentword),NULL,TAG_DONE);
}
}
if(edit.word)
{
edit.word = 0;
GT_SetGadgetAttrs(Project0Gadgets[GDX_wordstring],Project0Wnd,NULL,
GA_Disabled,TRUE,TAG_DONE);
GT_SetGadgetAttrs(Project0Gadgets[GDX_delword],Project0Wnd,NULL,
GA_Disabled,TRUE,TAG_DONE);
}
else ActivateGadget(Project0Gadgets[GD_wordstring],Project0Wnd,NULL);
return (TRUE);
}
int templatelistClicked( void )
{
/* routine when gadget "Pattern" is clicked. */
winfo.currentpattern = (struct patternnode *)NumToNode(&winfo.pattern,Project0Msg.Code);
GT_SetGadgetAttrs(Project0Gadgets[GDX_templatestring],Project0Wnd,NULL,
GA_Disabled,FALSE,TAG_DONE);
GT_SetGadgetAttrs(Project0Gadgets[GDX_deltemplate],Project0Wnd,NULL,
GA_Disabled,FALSE,TAG_DONE);
ActivateGadget(Project0Gadgets[GD_templatestring],Project0Wnd,NULL);
edit.pattern = 1;
return (TRUE);
}
int numpatClicked( void )
{
long num = GetNumber(Project0Gadgets[GDX_numpat]);
if(num > 0) NumGen = num;
else
{
GT_SetGadgetAttrs(Project0Gadgets[GDX_numpat],Project0Wnd,NULL,
GTIN_Number,1,TAG_DONE);
NumGen = 1;
}
return (TRUE);
}
int generateClicked( void )
{
/* routine when gadget "Generate" is clicked. */
int i;
int pattern;
struct Node *n;
if(edit.pmode)
{
if(winfo.numpattern)
{
for(i = 0;i < NumGen;i++)
{
pattern = (ULONG)RangeRand(winfo.numpattern);
n = NumToNode(&winfo.pattern,pattern);
winfo.nach = strdup(n->ln_Name);
ReplaceLine();
line_out(winfo.nach);
free(winfo.nach);
}
}
}
else
{
for(i = 0;i < NumGen;i++)
{
for(n = winfo.pattern.lh_Head;n->ln_Succ;n = n->ln_Succ)
{
winfo.nach = strdup(n->ln_Name);
ReplaceLine();
line_out(winfo.nach);
free(winfo.nach);
}
}
}
return (TRUE);
}
int addtemplateClicked( void )
{
/* routine when gadget "Add" is clicked. */
GT_SetGadgetAttrs(Project0Gadgets[GDX_templatestring],Project0Wnd,NULL,
GA_Disabled,FALSE,TAG_DONE);
GT_SetGadgetAttrs(Project0Gadgets[GDX_templatestring],Project0Wnd,NULL,
GTST_String,(ULONG)"",TAG_DONE);
ActivateGadget(Project0Gadgets[GD_templatestring],Project0Wnd,NULL);
edit.pattern = 0;
return (TRUE);
}
int deltemplateClicked( void )
{
/* routine when gadget "Delete" is clicked. */
delpattern();
GT_SetGadgetAttrs(Project0Gadgets[GDX_templatestring],Project0Wnd,NULL,
GA_Disabled,TRUE,TAG_DONE);
GT_SetGadgetAttrs(Project0Gadgets[GDX_deltemplate],Project0Wnd,NULL,
GA_Disabled,TRUE,TAG_DONE);
return (TRUE);
}
int addclassClicked( void )
{
/* routine when gadget "Add" is clicked. */
GT_SetGadgetAttrs(Project0Gadgets[GDX_class_string],Project0Wnd,NULL,
GA_Disabled,FALSE,TAG_DONE);
GT_SetGadgetAttrs(Project0Gadgets[GDX_addword],Project0Wnd,NULL,
GA_Disabled,FALSE,TAG_DONE);
GT_SetGadgetAttrs(Project0Gadgets[GDX_class_string],Project0Wnd,NULL,
GTST_String,(ULONG)"",TAG_DONE);
ActivateGadget(Project0Gadgets[GD_class_string],Project0Wnd,NULL);
edit.class = 0;
return (TRUE);
}
int delclassClicked( void )
{
/* routine when gadget "Delete" is clicked. */
delclass();
GT_SetGadgetAttrs(Project0Gadgets[GDX_class_string],Project0Wnd,NULL,
GA_Disabled,TRUE,TAG_DONE);
GT_SetGadgetAttrs(Project0Gadgets[GDX_delclass],Project0Wnd,NULL,
GA_Disabled,TRUE,TAG_DONE);
GT_SetGadgetAttrs(Project0Gadgets[GDX_wordstring],Project0Wnd,NULL,
GA_Disabled,TRUE,TAG_DONE);
GT_SetGadgetAttrs(Project0Gadgets[GDX_delword],Project0Wnd,NULL,
GA_Disabled,TRUE,TAG_DONE);
GT_SetGadgetAttrs(Project0Gadgets[GDX_addword],Project0Wnd,NULL,
GA_Disabled,TRUE,TAG_DONE);
return (TRUE);
}
int addwordClicked( void )
{
/* routine when gadget "Add" is clicked. */
GT_SetGadgetAttrs(Project0Gadgets[GDX_wordstring],Project0Wnd,NULL,
GA_Disabled,FALSE,TAG_DONE);
GT_SetGadgetAttrs(Project0Gadgets[GDX_wordstring],Project0Wnd,NULL,
GTST_String,(ULONG)"",TAG_DONE);
ActivateGadget(Project0Gadgets[GD_wordstring],Project0Wnd,NULL);
edit.word = 0;
return (TRUE);
}
int delwordClicked( void )
{
/* routine when gadget "Delete" is clicked. */
delword();
return (TRUE);
}
int modeClicked( void )
{
edit.pmode = (edit.pmode) ? 0 : 1;
return (TRUE);
}
int Project0Loadpattern( void )
{
edit.l_p = 1;
edit.l_c = 0;
loadAll(MODE_LOADFILE,"Loading Patterns...");
return TRUE;
}
int Project0Loadclasses( void )
{
edit.l_p = 0;
edit.l_c = 1;
loadAll(MODE_LOADFILE,"Loading Classes...");
return TRUE;
}
int Project0appendpattern( void )
{
edit.l_p = 1;
edit.l_c = 0;
loadAll(MODE_APPENDFILE,"Appending Patterns...");
return TRUE;
}
int Project0appendclasses( void )
{
edit.l_p = 0;
edit.l_c = 1;
loadAll(MODE_APPENDFILE,"Appending Classes...");
return TRUE;
}
int Project0savepattern( void )
{
edit.s_p = 1;
edit.s_c = 0;
saveAll(MODE_SAVEFILE,"Lyr-O-Mat... Save Pattern only");
return TRUE;
}
int Project0saveclasses( void )
{
edit.s_p = 0;
edit.s_c = 1;
saveAll(MODE_SAVEFILE,"Lyr-O-Mat... Save classes only");
return TRUE;
}
int Project0about( void )
{
EasyRequestArgs(Project0Wnd,&AboutReq,NULL,NULL);
return TRUE;
}
int Project0Loadall( void )
{
/* routine when (sub)item "Load words..." is selected. */
edit.l_p = 1;
edit.l_c = 1;
loadAll(MODE_LOADFILE,"Loading Patterns & Classes");
return (TRUE);
}
int Project0appendall( void )
{
/* routine when (sub)item "Load words..." is selected. */
edit.l_p = 1;
edit.l_c = 1;
loadAll(MODE_APPENDFILE,"Appending Patterns & Classes...");
return (TRUE);
}
int Project0saveall( void )
{
/* routine when (sub)item "Save words..." is selected. */
edit.s_p = 1;
edit.s_c = 1;
saveAll(MODE_SAVEFILE,"Lyr-O-Mat... Save all Data");
return (TRUE);
}
int Project0savedefault( void )
{
/* routine when (sub)item "Save as Default..." is selected. */
edit.s_p = 1;
edit.s_c = 1;
saveAll(MODE_SAVECONFIG,"Lyr-O-Mat... Save configuration");
return (TRUE);
}
int Project0ShowInfo( void )
{
Project0ShowPInfo();
Project0ShowCInfo();
return TRUE;
}
int Project0Item0( void )
{
/* routine when (sub)item "Print" is selected. */
if(winfo.printfile)
{
fclose(winfo.printfile);
winfo.printfile = NULL;
}
else
{
winfo.printfile = fopen("prt:","w");
}
return (TRUE);
}
int Project0ConWd( void )
{
if(winfo.outfile)
{
fclose(winfo.outfile);
winfo.outfile = NULL;
}
else
{
winfo.outfile = fopen(winfo.outfilename,"w");
}
return (TRUE);
}
int Project0quit( void )
{
/* routine when (sub)item "Quit..." is selected. */
if( EasyRequestArgs(Project0Wnd,&ExitReq,NULL,NULL) == 1)
return FALSE;
else
return TRUE;
}
int Project0CloseWindow( void )
{
/* routine for "IDCMP_CLOSEWINDOW". */
return Project0quit();
}
void line_out(UBYTE *line)
{
if(winfo.outfile) fprintf(winfo.outfile,"%s\n",line);
if(winfo.printfile) fprintf(winfo.printfile,"%s\n",line);
}
int Project0VanillaKey( void)
{
int rc = TRUE;
switch(Project0Msg.Code)
{
case '\n' :
case ' ' :
case 'g' :
case 'G' : generateClicked();
break;
case 'q' :
case 'Q' : rc = Project0quit();
default : break;
}
return rc;
}
int Project0ShowPInfo( void )
{
UBYTE line[256];
struct Node *p;
line_out("***************************************");
line_out("* Lyr-O-Mat Pattern info *");
line_out("***************************************");
if(winfo.numpattern)
{
sprintf(line,"* %6ld Patterns",winfo.numpattern);
line_out(line);
for(p = winfo.pattern.lh_Head;p->ln_Succ;p=p->ln_Succ)
{
sprintf(line,"** %s",p->ln_Name);
line_out(line);
}
}
else
line_out("* No Patterns");
line_out("***************************************");
return(TRUE);
}
int Project0ShowCInfo( void )
{
UBYTE line[256];
struct Node *p;
line_out("***************************************");
line_out("* Lyr-O-Mat Class info *");
line_out("***************************************");
if(winfo.numclass)
{
sprintf(line,"\n* %6ld Classes",winfo.numclass);
line_out(line);
for(p = winfo.class.lh_Head;p->ln_Succ;p=p->ln_Succ)
{
struct classnode *c;
c = (struct classnode *)p;
if(c->cl_Words.lh_Head->ln_Succ)
{
if(c->cl_NumWords > 1)
sprintf(line,"** Class : %s : %ld words ** %s, %s...",p->ln_Name,c->cl_NumWords,c->cl_Words.lh_Head->ln_Name,c->cl_Words.lh_Head->ln_Succ->ln_Name);
else
sprintf(line,"** Class : %s : %ld words ** %s",p->ln_Name,c->cl_NumWords,c->cl_Words.lh_Head->ln_Name);
line_out(line);
}
else line_out("*** No words in this class !!");
}
}
else
line_out("* No Classes");
line_out("***************************************");
return (TRUE);
}
int Project0WriteIcon(void)
{
if(edit.writeicon)
edit.writeicon = 0;
else
edit.writeicon = 1;
return TRUE;
}